 //回调函数原理：函数可以作为一个参数。将这个函数作为参数传到另一个函数里面
        //当那个函数执行完之后，再执行传进去的这个函数，这个过程就叫做回调
        //例如当下面的缓动动画执行完成后再将盒子的颜色变成红色
        function animate(obj,target,callback){
            //callback = function(){} 调用的时候 就再定时器结束的时候调用callback();
            clearInterval(obj.timer);
            obj.timer  = setInterval(function(){
                //每次加1 ， 这个步长值改为一个慢慢变小的值
                //步长公式：(目标值-现在的位置)
                //把步长值改为整数 往上取整 
                // var step = Math.ceil((target - obj.offsetLeft)/10);
                //为了判断是取正的整数值，还是取负的整数zhi
                var step =  (target - obj.offsetLeft)/10;
                if(step >= 0){
                    step = Math.ceil(step);
                }else{
                    step = Math.floor(step);
                }
                if(obj.offsetLeft == target){
                    clearInterval(obj.timer);
                    //回调函数下入定时器结束里面
                    if(callback){
                        callback();
                    }
                }
                obj.style.left = obj.offsetLeft + step + 'px';
            },15)
        }